package com.zzjson.validation.constraints;

import com.zzjson.validation.ValidCardNumberConstraintValidator;

import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * <p>****************************************************************************</p>
 * <p><b>Copyright © 2010-2019 shuncom team All Rights Reserved<b></p>
 * <ul style="margin:15px;">
 * <li>Description : 合法卡号校验</li>
 * <li>Version     : 1.0.0</li>
 * <li>Creation    : 2019年11月07日</li>
 * <li>@author     : zzy0_0</li>
 * </ul>
 * <p>****************************************************************************</p>
 * 需求：通过员工的卡号来校验，需要通过工号的前缀和后缀来判断
 * <p>
 * 前缀必须以"zzjson-"
 * <p>
 * 后缀必须是数字
 * <p>
 * 需要通过 Bean Validator 检验
 */
@Target({FIELD})
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = {ValidCardNumberConstraintValidator.class})
public @interface ValidCardNumber {
	String message() default "{com.zzjson.bean.validation.message}";

	Class<?>[] groups() default {};

	Class<? extends Payload>[] payload() default {};

}